Added isDevControllerClass so that XendDomainInfo does not need to store the same information internally. This may soon go, depending on how useful controller.py turns out to be.
Removed {add,get}_{config,device}_handler in favour of using a simple dictionary directly. Fix a misnamed variable blconfig that was supposed to refer to blcfg. This showed up under pylint as a undefined variable, but would have manifested itself in the bootloader configuration being ignored.
Newer binutils is a bit stricter and errors out when you try
to use movl on a 16 bit word on x86_64. Using just a "mov"
compiles fine and should result in the same code.
{standard input}: Assembler messages:
{standard input}:2138: Error: suffix or operands invalid for `mov'
{standard input}:2140: Error: suffix or operands invalid for `mov'
{standard input}:2142: Error: suffix or operands invalid for `mov'
{standard input}:2144: Error: suffix or operands invalid for `mov'
domain_crash_synchronous() on x86_64 causes Xen to crash because
it tries to dereference an invalid stack address. The patch below
fixes this. The patch also updates show_registers() to print the
same information as its x86_32 equivalent.
Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com> Signed-off-by: Keir Fraser <keir@xensource.com>
Prevent opening the xenbus device if the store isn't connected yet.
Running xenstore clients using the xenbus device before the store
connection has been set up causes a crash because the store page
won't have been allocated yet. This is only a problem in dom0 where
we setup the store page from the PRIVCMD_INITDOMAIN_STORE ioctl. Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
(1) Make TESTDIR relative (my directory exceeded 108 chars, breaking sockets)
(2) Make TESTDIR if it doesn't exist
(3) Add dummy xc_domain_getinfo and xc_evtchn_bind_virq for fake libxc
(4) Fix tests broken by b594bb976a743d509f1ffabb5bc698874ab90d8f
(5) domain_cleanup() can be static, as it's not used elsewhere.
(6) With -Werror, "use" unused variable in domain_init() if TESTING
(7) Remove debugging printf on watch without perms.
(8) Loosen timeout in xs_test (valgrind + slow machine == bogus timeouts)
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (authored) Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Put xenstored.h in linux-public include dir. Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Always allow overriding where clients connect through XENSTORED_PATH.
Detect if we're connecting to a socket or to the domain device and
open accordingly. Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Change xenbus_dev interface from ioctl to read/write.
Check boundaries so we can recover if userspace dies.
Also simplifies libxenstore. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Move block device bind/unbind into hotplug scripts.
Fixes file: devices since unbind now runs after the backend driver
closes the loopback device.
Also moves name -> node translation into the backend domain. Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
This patch remove the L2 pin for 1:1 page table on control panel.
L2 pin for 1:1 page table on control panel cause entries for top 64M
address changed by alloc_l2_table().
Yes, that fixes the problem, our patches crossed. I saw Keir already
integrated my patch and while it is harmless, it is redundant and
here is the diff to take it out.
The patch also addresses some indent problems and aligns instructions
up with the rest of the block.
Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com>
With this patch, 32-bit binary can work on 64-bit VMX guest.
Signed-off-by: Chengyuan Li <chengyuan.li@intel.com> Signed-off-by: Jun Nakajima <jun.nakajima@intel.com> Signed-off-by: Asit Mallick <asit.k.mallick@intel.com>
In xenlinux timer interrupt variable cpu is sometimes uesd in a for
loop, but later it is used to access per cpu data i.e.
per_cpu(processed_system_time, cpu), which causes an invalid pointer.
One more instruction for the VMX MMIO decoder.
This patch is to handle the instruction with opcode 0x80.
Without this patch, the 64-bit VMX guest can't boot.
Signed-off-by: Chengyuan Li <chengyuan.li@intel.com>
Fix bug that service os & vmx guest can't communicate with
each other. The bug was physical packets smaller than
minimal packet size of 60 bytes were gettign thrown away.
Hence ARP traffic for example was dropped.
The patch allows the shadow mode code to support >4GB physical memory. I
tested VMX domains on an x86_64 machine with >4GB; it fails without this
change. This should be applicable to PAE as well.
This patch is good for up to 32GB RAM.
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Make error reporting consistent.
Also note addition of Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS
which slipped in in previous merge changeset: allow other threads
to run during communication with xenstored. Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Xenbus implementation ported from Linux to Mini-os, simple thread support introduced
to simplify the porting. 64 bit version of Mini-os now compiles, but does not work
because of the pagetables and some bits of scheduler not being written.
It was suggested on the xen-users list that it would be useful if the
loopback driver could instantiate an arbitrary number of interfaces, so
the attached patch does that.
tpmback compilation fix.
A small patch to fix some compilation problems and debugging output. Signed-off-by: Stefan Berger <stefanb@us.ibm.com> Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Give each domain some memory below 4GB. This solves the "PGD's must be below 4GB" for the initial page tables. I'm not sure we'll stick with this approach, but this is good enough for the time being.
PAE should be a *lot* more robust on systems that actually have more than 4GB thanks to all the various patches that went in today. I find it astounding that it ever appeared to work at all!
Move console tty/limit information into console directory in domain dir.
Also only store port number of console event channel. Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>